<?php

defined('BASEPATH') or die('forbidden');

class Task_Controller Extends Controller {

	private $inc;
    private $m;	//数据库连接
    private $server_info;
	
	function _init() {
		check_level(50, segment(0), segment(1));
		set_time_limit(0);
		
		$this->inc = $this->config['inc'];
		$this->tasklist = get_type_task();

        //得到选择的区号
		$areanum = $_SESSION['area_selected_id'];
        if ($areanum == '') 
        {
            echo "<script>alert('" . translate('C_SELECT_AREA_TEXT') . "');</script>";
            return;
        }
        //query server mapping
        $selectSql = "SELECT * FROM server_mapping WHERE dbtype='1' AND areanum={$areanum} ";
        $this->db->query($selectSql);
        $this->server_info=$this->db->get_array('default');

        // db数据库
        $this->m = new MongoClient("mongodb://{$this->server_info['dbip']}");
		
		if (false == $this->m) {
			//内部有提示错误，在此就不提示了
			 //echo "<script>alert(' connect areanum:$areanum error ');</script>";
            return;
		}

	}

	function index() {
		$this->view->display("dbplayer/task/index");		
	}

	function flexigrid() {
		//echo "<script>alert('" . translate('C_SELECT_AREA_TEXT') . "');</script>";
		list($colkey, $colsinfo, $where, $sortname, $sortorder, $offset, $rp, $page) = $this->common->get_flexigrid_params();

        $query=$_POST['query'];
        $query_type=$_POST['qtype'];
        if($query_type=='_id'){
            $filter=array($query_type=>(float)$query);
        }else{
            $filter=array($query_type=>$query);
        }
        $collection=$this->m->{$this->server_info['dbname']}->PlayerHero;
        if($query!=''){
            $document=$collection->find($filter);
        }else{
            $document=$collection->find();
        }
        $data=array();
        $total = count($document);
        foreach ($document as $key=>$value){
            //$value['logofftime'] = get_datetime($value['logofftime']);
            //$value['loginday'] = get_datetime($value['loginday']);
            foreach ($value['curgems'] as $k=>$v){
                $v['_id']=$value['_id'];
                $num=$key.$k;
                $data[$num]=array('id' => $value['_id'], 'cell' => $v);
            }

        }
//		$sql = "SELECT COUNT(*) AS num FROM player_task  WHERE {$where} {$exwhere}";
//		//echo " sql2:$sql ";
//		$one = $this->dbConnt->one($sql);
//		$total = $one['num'];
//		$orderby = $sortname ? "ORDER BY {$sortname} {$sortorder} " : "";
//
//		$sql = "SELECT {$colsinfo} FROM player_task  WHERE {$where} {$exwhere} {$orderby} LIMIT {$offset},{$rp}";
//		$this->dbConnt->query($sql);
//		//$id = 0;
//		while ($n = $this->dbConnt->get_array('default'))
//		{
//			//print_r($n);
//			//职业转成字符显示
//			$n['state']=$this->stateList[$n['state']]."-".$n['state'];
//			$n['tasktypeid']=$this->tasklist[$n['tasktypeid']]."-".$n['tasktypeid'];
//
//			$n['limittimestart'] = ($n['limittimestart']==null ? " ":$n['limittimestart']);
//			$n['limittimeend'] = ($n['limittimeend']==null ? " ":$n['limittimeend']);
//			$n['createtime'] = ($n['createtime']==null ? " ":$n['createtime']);
//			$n['finishtime'] = ($n['finishtime']==null ? " ":$n['finishtime']);
//			$n['playerid'] = $this->nameList[$n['playerid']]."(".$n['playerid'].")";
//			$rows[] = array('id' => $n['id'], 'cell' => $n);
//			//$id = $id+1;
//		}

		//$total = count($rows);
		$result = array(
            'page' => $page,
            'total' => $total,
            'rows' => $data
		);
		//print_r($rows);
		//exit();
		echo json_encode($result);
	}

}

?>